package cn.wolfcode.trip.base.service;

import cn.wolfcode.trip.base.domain.Question;
import cn.wolfcode.trip.base.query.QuestionQueryObject;
import com.github.pagehelper.PageInfo;

/**
 * 问题类业务层
 */
public interface IQuestionService {
    void save(Question question);

    PageInfo query(QuestionQueryObject qo);

    Question get(Long id);

    /**
     * 更新浏览量
     * @param question
     */
    void updatePageViews(Question question);

    /**
     * 查询用户是否点了赞
     * @param userId 用户id
     * @param questionId 问题id
     * @return
     */
    int getLikeRelation(Long userId, Long questionId);

    /**
     * 保存点赞关系
     * @param userId
     * @param questionId
     */
    void saveLikeRelation(Long userId, Long questionId);

    /**
     * 删除点赞关系
     * @param userId
     * @param questionId
     */
    void deleteLikeRelation(Long userId, Long questionId);

    /**
     * 获取点赞数量
     * @param id 问题id
     * @return
     */
    int getLikeNum(Long id);
}
